#ifndef ROSCOMMUNICATE_H
#define ROSCOMMUNICATE_H


#include "gSoapFoundation/stdsoap2.h"
#include "gSoapFoundation/soapStub.h"
#include <string>

using namespace std;

class RosCommunicate
{
public:
    RosCommunicate(string remoteServerAddressIn);


public:
//    int feedWatchDog(struct UserInfo userInfo,int &returnFlag);
    int changeRemoteServerAddress(string remoteServerAddressIn);

    int getWheelMoveSpeed(struct UserInfo userInfo,int robotIdIn,
                     vector<double>& wheelMoveSpeed);

    int getWheelPathLength(struct UserInfo userInfo,int robotIdIn,
                     vector<double>& wheelPathLength);

    int getOdometer(struct UserInfo userInfo,int robotIdIn,struct OdemeterData& odemeterDataReturn);

    int vehicleAuto(struct UserInfo userInfo,int robotIdIn, double xMove, double yMove, double rotate,int &returnFlag);

private:



private:
    bool isInitialStatus;

    /**
     * @brief client_soap           实例化gsoap通信类
     */
    soap client_soap;
    string remoteServerAddress;


};

#endif // ROSCOMMUNICATE_H
